Page Index
5 A 数据权限
JL 于 2022-10-24 15:15:34 +08:00 修改了此页面
此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

例如我们要让WxApp公众号账号受到数据权限的控制,实现不同机构的用户管理不同的公众号,步骤如下
  • wx_app表需要有机构字段organ_id,因为系统通过机构来划分数据权限的

  • nacos中配置需要控制数据Mapper方法,这里我配的是分页查询方法selectPage

  • 修改用户角色的数据权限类型(全部、本级、本级及子级、自定义)

  • 此WxApp的数据权限就配置完成了,通过赋给用户角色即可完成不同机构的用户管理不同的公众号

  • 核心代码DataScopeInterceptor.java

    //查询数据权限配置
    List<String> mapperIds = dataScopeProperties.getMapperIds();
    //未配置数据权限,直接放行
    if (mapperIds==null || mapperIds.size()<=0) {
       return invocation.proceed();
    }else{
       String mappedStatementId = mappedStatement.getId();
       if(!CollUtil.contains(mapperIds,mappedStatementId)){
          return invocation.proceed();
       }
    }
    
  • 数据权限在商城模块中没有使用到,所以不是所有表都做了数据权限;可以根据数据库表中是否有机构字段organ_id判断是否有数据权限功能